#ifndef EMPTY_H
#define EMPTY_H

#include "Common/Collections/IIterator.h"
#include "Common/Collections/IIterable.h"
#include "Common/Collections/EmptyIterator.h"

namespace cmn {

	template<typename T>
	class Empty : public IIterable<T>
	{
	public:
		virtual ~Empty() {}

		virtual IIterator<T>* GetIterator() const { return new EmptyIterator<T>(); }
		virtual int GetLength() const { return 0; }
	};
}
#endif
